我是如何用6个月,从0编程经验变成数据科学家的?
我叫Kate,刚从长达 8 年的学习和艰苦的工作中走出来,没有任何预兆。你可能想问,为什么有人会这么做?不得不说,是我的老板让我崩溃了,他知道我会做出改变。
当我男朋友建议我去做一名数据科学家时,我觉得他疯了,因为我对编程一窍不通,他高估了我的能力。
结果大约在两周后,我的朋友安娜也提出了同样的建议。这倒是让我再次深思了这个可能性,为什么不尝试一下呢?抱着这样的想法,我决定重新开始,将自己改造成一个数据科学家。
从0 开始学习,我的目标是成为数据科学家
我想按照自己的进度学习,所以我决定参加在线课程。我认为,拥有神经科学博士学位的我,可能受过足够的正规培训,可以从事一份数据科学的工作。我只是需要一些实用的技能。
这个故事将描述我修过的四门不同的课程,以及它们是如何让我在硅谷的一家医疗初创公司从事数据科学工作的。
当时,我遇到的大多数在线课程都是免费的。所以我挑战自己,在不花钱的情况下获得我需要的技能——我还能说啥,其实我就是抠门呗。
- “我曾经认为相关性意味着因果关系。直到我去上统计学课,现在我不这么认为了。”
- “听起来这门课很有帮助?”
- “或许是吧。”
基本的技能
当我从加州大学旧金山分校的博士后毕业时,我没有任何编程经验。我在所有的研究中都使用了统计学,但规模较小。我之前分析的所有数据集都是我在实验室中自己生成的。因此,观测次数非常少。我需要学习更大规模地编程和分析数据。
开始编程
当我决定要成为一名数据科学家时,我最想学的就是如何编写计算机代码。因为我从来没有写过代码,它是一个完全未知的事情。应该这么说:如果我真的很讨厌编写代码,那么数据科学就不适合我,也就是说,如果你对这个事情根本不感兴趣,那么没必要去学习也不适合去从 0 开始学习。所以,对于我来说这是一个很好的开始。
我很幸运,因为我的合伙人Ben在很多技术领域工作过,能够为我指明正确的方向。他建议Python可能最适合我。Python是出色的数据分析工具,用途广泛,并且可以很好地处理大型数据集,于是我决定这就是我的起点。
学习编程
课程 1、Codecademy
为了开始学习编程,我使用了Codecademy。从Python入门开始,但是我不确定我完成的课程是否仍然像2014年那样存在。如果我现在要使用Codecademy开始学习Python,我可能会选择“使用Python分析数据”课程。
我发现Codecademy是一个很好的起点,主要优势是能够在浏览器中直接编写代码,因为在我的计算机上正确地安装编程环境仍然是我的致命弱点,因此我很高兴在一开始时先避免它。令人欣慰的是,如果我的代码不能工作,只是因为语法问题,而不是因为环境设置错误。
我也喜欢用Codecademy一次做几分钟的工作。如果我有一些空闲时间,我会登录和刷一些题目,因为这些题目都在那里等着我。这种零星的进展意味着我并不用害怕陷入其中。
在我完成课程时,只有很少的Codecademy上的课程是免费的。我对在线免费课程的质量感到惊讶。
学习完Python的基础知识之后,我需要开始提升统计经验,并学习更大规模地分析数据。
学习数据分析
课程 2、约翰·霍普金斯的Coursera数据科学专业
其次,我获得了约翰·霍普金斯大学的Coursera数据科学专业知识。当时,你可以免费制作荣誉代码证书版本,并且仅在需要认证证书时才需要付费。
对我来说,认证的证书似乎并不重要。反而,我需要能够在技术面试中展示该课程中教的技能。因此,我选择了专业版的免费版本。
对我来说,一个缺点是该系列课程是用R语言教的。R是一种用于统计分析的出色编程语言,受到学术界的青睐。然而,我想为了数据科学而学习Python。我认为Python在我想工作的创业公司中会更有用。
我研究了一些Python数据分析课程,但是它们似乎验证了我还没有足够相关的知识量。看起来这些课程大多数都是针对想要过渡到数据科学的软件工程师准备的。因此,他们假设你具有扎实的编程技能,并且已经知道如何设置Python环境。
我喜欢Coursera数据科学专业的主要方面是,它从一开始就有有关如何在Brst课程安装R和R studio的步骤说明。这样使在知道不会有任何技术问题的情况下,很容易处理后续的课程。
约翰·霍普金斯大学数据科学专业的另一个适合我的方面是,它是由公共卫生部门教的。我在医疗科学领域的专业知识使我能够很容易地遵循他们列举的例子。他们举例说明了空气质量对哮喘的影响以及与医疗保健相关的其他数据集。因此,我可以专注于课程内容,而不是迷惑在为数据分析提供的案例中。
这一系列的课程让我对数据科学工作的主要方面有了基本的了解。它涉及到R编程、基本数据清理、分析、回归和机器学习。我真的很喜欢学习编程以及如何使用代码来分析数据,因此鼓励我继续学习。
关注招聘信息
在培训的这一阶段,我开始询问圈子里的朋友,是否可以把我介绍给其他在旧金山从学术界过渡到数据科学的人。有几个人帮我联系上了,所以我安排了尽可能多的面试。
一位朋友把我介绍给了Modcloth的一位数据科学家,她和我走了一条相似的路。她曾是一名神经学家,我发现她的建议特别有用,她主要建议学习SQL。
学习查询数据库
课程 3、DB5 SQL斯坦福大学在线
约翰·霍普金斯大学的Coursera数据科学专业课程完全没有涉及SQL。她说她每天的大部分工作都是查询数据库。她必须为业务开发和营销团队提取观点,所以只有一小部分时间用于统计分析和机器学习。
我听从了她的建议,并在斯坦福在线网站(Stanford Online)上开始了一个自定进度的SQL课程。在我修过的所有课程中,这是我的最爱。我之所以喜欢它,是因为老师非常出色,而且会使用简单的示例来解释这些概念,她还以多种不同的方式解释了每个概念。
从那以后,我向很多人推荐了这门课程,因为我认为良好的SQL基础对于任何数据科学家都是必不可少的。我接触过的数据科学课程没有涉及如何使用SQL从数据库获取数据。我认为这是一个巨大的疏漏。大多数课程都有准备供学生使用的CSV数据,但是根据我的经验,行业数据科学工作很少有这种情况。
完成斯坦福大学SQL课程后,我便开始申请数据科学职位。那时,我回到澳大利亚,开始在旧金山湾区对初创公司进行Skype面试。在面试的同时,我想继续发展自己的技能。
巩固概念
课程 4、edX数据分析基础
然后,我用edX的R语言学习了数据分析的基础课程。修改我在Coursera课程中已经学过的很多概念,这是很有帮助的。
我相信从不同的老师那里学习概念可以提供新的见解。第二次学习时,更容易理解统计数据和机器学习概念。通过这门课,我觉得我有了更深的理解。
在我修这门课的时候,我成功获得了旧金山的一家医疗初创公司入职邀请,我拿到了工作签证,然后移居美国。
得到数据科学的工作
我认为我在最后的面试中很成功,因为我具有良好的编程能力和良好的统计学理解,但更重要的是我有医疗保健领域的知识,实验设计和科学方法的专业知识。
在我看来,正是这些其他的方面让我的应用程序脱颖而出,并让这家初创公司给了我一个机会。我的资历很浅,对工作培训的要求更高。我认为我所完成的所有课程都足以让招聘团队考虑我,而且我在医疗保健领域的经验也让我脱颖而出。
因此,如果你想把职业生涯转向数据科学,我建议你去找一家你现有的领域知识非常有价值的公司。
我学到了什么
在我开始新的数据科学工作之前,我希望填补我知识上的用命令行使用git的一个主要空白。我以前从未使用过终端或命令行,也不知道如何使用git将代码提交到公司的Github仓库。
几个工程师花了不少时间才让我跟上进度。我希望在开始之前至少知道如何使用它,这样我就不会浪费他们宝贵的时间。我的同事们都很棒,他们似乎并不介意教我,但在最初的几天里,我确实感到有点负担。
我最终还是赶上了进度,而且发现“很难的命令行代码学习”非常有用。
如果你正在考虑采用类似的方法进入数据科学领域,我鼓励你继续前进!这对我来说绝对是正确选择。当然,不同的人会以不同的方式学习,但是,如果你有自律性来学习和完成入门,那么通过在线课程自学数据科学当然是可行的。
推荐阅读:
数据分析如何帮助揭示冠状病毒的真相? 一文助你快速理解ZooKeeper 蚂蚁金服AAAI收录论文曝光,动态网络剪枝方法、无语预训练的网络剪枝技术有重大突破 2.7 亿学生宅家上课,家长有意见了......
2020 年,远程办公太难?技术大佬齐支招!
2020年区块链领域最具影响力人物Top 20